package net.hn.hnms.biz.indicator.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.*;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author 智呈物联 nzw
 * @date 2022/8/24
 */

@Data
@ApiModel(value = "SysIndicator对象", description = "指标表")
@Entity
@TableName("ssys_indicator")
@Table(name = "ssys_indicator")
public class SysIndicator {
    @ApiModelProperty(value = "id")
    @TableId(type = IdType.AUTO)
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @SequenceGenerator(name = "indicator_id")
    private Long id;
    @ApiModelProperty(value = "一级指标编码")
    private String indicatorFirstLevelCode;
    @ApiModelProperty(value = "二级指标编码")
    private String indicatorSecondLevelCode;
    @ApiModelProperty(value = "三级指标编码")
    private String indicatorThirdLevelCode;
    @ApiModelProperty(value = "权重值")
    private String indicatorWeightValue;
    @ApiModelProperty(value = "一级指标名称")
    private String indicatorFirstLevelName;
    @ApiModelProperty(value = "二级指标名称")
    private String indicatorSecondLevelName;
    @ApiModelProperty(value = "三级指标名称")
    private String indicatorThirdLevelName;
    @ApiModelProperty(value = "数据来源")
    private String dataSource;
    @ApiModelProperty(value = "评价方式")
    private String evaluationWay;
    @ApiModelProperty(value = "评价隶属度函数")
    private String evaluationFunction;
    @ApiModelProperty(value = "模型说明")
    private String modelDesc;
    @ApiModelProperty(value = "数据集")
    private String dataCollection;
    @ApiModelProperty(value = "指标描述")
    private String remark;
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "是否高危项")
    private Integer riskFlag;
    @Transient
    private List<SysIndicatorRoles> roles;
    @Transient
    private List<SysIndicator> children;
    @Transient
    private Integer level;
    @Transient
    private String uniqueKey;
}
